package com.xmall.define.dto.product;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xmall.define.base.BaseDto;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 返回数据格式：product - sku_info
 */
@Data
public class SkuInfoDto extends BaseDto implements Serializable {

    /**
     * 商品spuId
     */
    private Long spuId;

    /**
     * 标题
     */
    private String title;

    /**
     * 价格
     */
    private BigDecimal price;

    /**
     * 默认图片
     */
    private String image;

    /**
     * 销售数量
     */
    private Integer saleNum;

    /**
     * 评论数量
     */
    private Integer commentNum;

    /**
     * 库存数量
     */
    private Integer stockNum;

    /**
     * 锁定数量
     */
    private Integer lockedNum;

    // ============ 自定义属性 start ============
    /**
     * attrOptionSn列表
     */
    private List<String> attrOptionSnList = new ArrayList<>();

    /**
     * 销售属性列表
     */
    private List<SkuAttrDto> skuAttrList = new ArrayList<>();

    /**
     * 默认图片编号
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long defaultSkuImageSn = null;

    /**
     * sku图片列表
     */
    private List<SkuImageDto> skuImageList = new ArrayList<>();
    // ============ 自定义属性 end ============

}
